import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class Parser extends DefaultHandler {
	
	private String aktuellesElement="";
	
// Start des Dokuments gefunden
	@Override
	public void startDocument() throws SAXException {
		System.out.println("Terminkalender START");
	}
	

// Neues Elemente gefunden
	@Override
	public void startElement(String uri, String localName, String qName, Attributes attributes)  throws SAXException {
		this.aktuellesElement=qName;
		if (qName.equals("terminkalender")) {
			System.out.println("Terminkalender von:"+attributes.getValue("von"));
		}
		
		if (qName.equals("termine")) {
			System.out.println("Termine:"+attributes.getValue("art"));
		}
		
		if (qName.equals("termin")) {
			System.out.println("Termin Nr:"+attributes.getValue("nr"));
		}
	}

	
// neue Zeichen in einem Element gefunden (das ist kein Attribut eines Elements!)
	@Override
	public void characters(char[] characters, int start, int laenge) throws SAXException {
		if (this.aktuellesElement.equals("was")) {
			System.out.println(String.valueOf(characters, start, laenge).trim());
		}
		if (this.aktuellesElement.equals("wo")) {
			System.out.println(String.valueOf(characters, start, laenge).trim());
		}
	}
	

// Ende des aktuellen Elements gefunden
	@Override
	public void endElement(String uri, String localName, String qName) throws SAXException {
		this.aktuellesElement="";
	}

// Ende des Dokuments gefunden
	@Override
	public void endDocument() throws SAXException {
		System.out.println("ENDE");
	}
}
